// Generated from ques.g4 by ANTLR 4.2.2

	package queryfish.antlr.parser;

import org.antlr.v4.runtime.misc.NotNull;
import org.antlr.v4.runtime.tree.ParseTreeListener;

/**
 * This interface defines a complete listener for a parse tree produced by
 * {@link quesParser}.
 */
public interface quesListener extends ParseTreeListener {
	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh18}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh18(@NotNull quesParser.QuestionWh18Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh18}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh18(@NotNull quesParser.QuestionWh18Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#commonName}.
	 * @param ctx the parse tree
	 */
	void enterCommonName(@NotNull quesParser.CommonNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#commonName}.
	 * @param ctx the parse tree
	 */
	void exitCommonName(@NotNull quesParser.CommonNameContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh19}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh19(@NotNull quesParser.QuestionWh19Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh19}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh19(@NotNull quesParser.QuestionWh19Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#kindOfFish}.
	 * @param ctx the parse tree
	 */
	void enterKindOfFish(@NotNull quesParser.KindOfFishContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#kindOfFish}.
	 * @param ctx the parse tree
	 */
	void exitKindOfFish(@NotNull quesParser.KindOfFishContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#verbPharseStartQues2}.
	 * @param ctx the parse tree
	 */
	void enterVerbPharseStartQues2(@NotNull quesParser.VerbPharseStartQues2Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#verbPharseStartQues2}.
	 * @param ctx the parse tree
	 */
	void exitVerbPharseStartQues2(@NotNull quesParser.VerbPharseStartQues2Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh16}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh16(@NotNull quesParser.QuestionWh16Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh16}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh16(@NotNull quesParser.QuestionWh16Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#verbPharseStartQues3}.
	 * @param ctx the parse tree
	 */
	void enterVerbPharseStartQues3(@NotNull quesParser.VerbPharseStartQues3Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#verbPharseStartQues3}.
	 * @param ctx the parse tree
	 */
	void exitVerbPharseStartQues3(@NotNull quesParser.VerbPharseStartQues3Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh17}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh17(@NotNull quesParser.QuestionWh17Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh17}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh17(@NotNull quesParser.QuestionWh17Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh14}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh14(@NotNull quesParser.QuestionWh14Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh14}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh14(@NotNull quesParser.QuestionWh14Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#cultureTech}.
	 * @param ctx the parse tree
	 */
	void enterCultureTech(@NotNull quesParser.CultureTechContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#cultureTech}.
	 * @param ctx the parse tree
	 */
	void exitCultureTech(@NotNull quesParser.CultureTechContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#iN}.
	 * @param ctx the parse tree
	 */
	void enterIN(@NotNull quesParser.INContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#iN}.
	 * @param ctx the parse tree
	 */
	void exitIN(@NotNull quesParser.INContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh15}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh15(@NotNull quesParser.QuestionWh15Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh15}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh15(@NotNull quesParser.QuestionWh15Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#endQues02}.
	 * @param ctx the parse tree
	 */
	void enterEndQues02(@NotNull quesParser.EndQues02Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#endQues02}.
	 * @param ctx the parse tree
	 */
	void exitEndQues02(@NotNull quesParser.EndQues02Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh12}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh12(@NotNull quesParser.QuestionWh12Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh12}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh12(@NotNull quesParser.QuestionWh12Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#fishSet}.
	 * @param ctx the parse tree
	 */
	void enterFishSet(@NotNull quesParser.FishSetContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#fishSet}.
	 * @param ctx the parse tree
	 */
	void exitFishSet(@NotNull quesParser.FishSetContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#vbNeed}.
	 * @param ctx the parse tree
	 */
	void enterVbNeed(@NotNull quesParser.VbNeedContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#vbNeed}.
	 * @param ctx the parse tree
	 */
	void exitVbNeed(@NotNull quesParser.VbNeedContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#endQues01}.
	 * @param ctx the parse tree
	 */
	void enterEndQues01(@NotNull quesParser.EndQues01Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#endQues01}.
	 * @param ctx the parse tree
	 */
	void exitEndQues01(@NotNull quesParser.EndQues01Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh13}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh13(@NotNull quesParser.QuestionWh13Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh13}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh13(@NotNull quesParser.QuestionWh13Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#kindOfFood}.
	 * @param ctx the parse tree
	 */
	void enterKindOfFood(@NotNull quesParser.KindOfFoodContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#kindOfFood}.
	 * @param ctx the parse tree
	 */
	void exitKindOfFood(@NotNull quesParser.KindOfFoodContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#vbFeed}.
	 * @param ctx the parse tree
	 */
	void enterVbFeed(@NotNull quesParser.VbFeedContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#vbFeed}.
	 * @param ctx the parse tree
	 */
	void exitVbFeed(@NotNull quesParser.VbFeedContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#advTo}.
	 * @param ctx the parse tree
	 */
	void enterAdvTo(@NotNull quesParser.AdvToContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#advTo}.
	 * @param ctx the parse tree
	 */
	void exitAdvTo(@NotNull quesParser.AdvToContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh10}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh10(@NotNull quesParser.QuestionWh10Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh10}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh10(@NotNull quesParser.QuestionWh10Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#sameName}.
	 * @param ctx the parse tree
	 */
	void enterSameName(@NotNull quesParser.SameNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#sameName}.
	 * @param ctx the parse tree
	 */
	void exitSameName(@NotNull quesParser.SameNameContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#mossRequest}.
	 * @param ctx the parse tree
	 */
	void enterMossRequest(@NotNull quesParser.MossRequestContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#mossRequest}.
	 * @param ctx the parse tree
	 */
	void exitMossRequest(@NotNull quesParser.MossRequestContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh11}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh11(@NotNull quesParser.QuestionWh11Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh11}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh11(@NotNull quesParser.QuestionWh11Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#verbPharseStartQues1}.
	 * @param ctx the parse tree
	 */
	void enterVerbPharseStartQues1(@NotNull quesParser.VerbPharseStartQues1Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#verbPharseStartQues1}.
	 * @param ctx the parse tree
	 */
	void exitVerbPharseStartQues1(@NotNull quesParser.VerbPharseStartQues1Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#inCan}.
	 * @param ctx the parse tree
	 */
	void enterInCan(@NotNull quesParser.InCanContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#inCan}.
	 * @param ctx the parse tree
	 */
	void exitInCan(@NotNull quesParser.InCanContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#scienceName}.
	 * @param ctx the parse tree
	 */
	void enterScienceName(@NotNull quesParser.ScienceNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#scienceName}.
	 * @param ctx the parse tree
	 */
	void exitScienceName(@NotNull quesParser.ScienceNameContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#vbOf}.
	 * @param ctx the parse tree
	 */
	void enterVbOf(@NotNull quesParser.VbOfContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#vbOf}.
	 * @param ctx the parse tree
	 */
	void exitVbOf(@NotNull quesParser.VbOfContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#orgination}.
	 * @param ctx the parse tree
	 */
	void enterOrgination(@NotNull quesParser.OrginationContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#orgination}.
	 * @param ctx the parse tree
	 */
	void exitOrgination(@NotNull quesParser.OrginationContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#endQues04}.
	 * @param ctx the parse tree
	 */
	void enterEndQues04(@NotNull quesParser.EndQues04Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#endQues04}.
	 * @param ctx the parse tree
	 */
	void exitEndQues04(@NotNull quesParser.EndQues04Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#endQues03}.
	 * @param ctx the parse tree
	 */
	void enterEndQues03(@NotNull quesParser.EndQues03Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#endQues03}.
	 * @param ctx the parse tree
	 */
	void exitEndQues03(@NotNull quesParser.EndQues03Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#endQues06}.
	 * @param ctx the parse tree
	 */
	void enterEndQues06(@NotNull quesParser.EndQues06Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#endQues06}.
	 * @param ctx the parse tree
	 */
	void exitEndQues06(@NotNull quesParser.EndQues06Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#inIn}.
	 * @param ctx the parse tree
	 */
	void enterInIn(@NotNull quesParser.InInContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#inIn}.
	 * @param ctx the parse tree
	 */
	void exitInIn(@NotNull quesParser.InInContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#endQues05}.
	 * @param ctx the parse tree
	 */
	void enterEndQues05(@NotNull quesParser.EndQues05Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#endQues05}.
	 * @param ctx the parse tree
	 */
	void exitEndQues05(@NotNull quesParser.EndQues05Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#expletive07}.
	 * @param ctx the parse tree
	 */
	void enterExpletive07(@NotNull quesParser.Expletive07Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#expletive07}.
	 * @param ctx the parse tree
	 */
	void exitExpletive07(@NotNull quesParser.Expletive07Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#endQues08}.
	 * @param ctx the parse tree
	 */
	void enterEndQues08(@NotNull quesParser.EndQues08Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#endQues08}.
	 * @param ctx the parse tree
	 */
	void exitEndQues08(@NotNull quesParser.EndQues08Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#expletive06}.
	 * @param ctx the parse tree
	 */
	void enterExpletive06(@NotNull quesParser.Expletive06Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#expletive06}.
	 * @param ctx the parse tree
	 */
	void exitExpletive06(@NotNull quesParser.Expletive06Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#endQues07}.
	 * @param ctx the parse tree
	 */
	void enterEndQues07(@NotNull quesParser.EndQues07Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#endQues07}.
	 * @param ctx the parse tree
	 */
	void exitEndQues07(@NotNull quesParser.EndQues07Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#inFor}.
	 * @param ctx the parse tree
	 */
	void enterInFor(@NotNull quesParser.InForContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#inFor}.
	 * @param ctx the parse tree
	 */
	void exitInFor(@NotNull quesParser.InForContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh09}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh09(@NotNull quesParser.QuestionWh09Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh09}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh09(@NotNull quesParser.QuestionWh09Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#longFish}.
	 * @param ctx the parse tree
	 */
	void enterLongFish(@NotNull quesParser.LongFishContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#longFish}.
	 * @param ctx the parse tree
	 */
	void exitLongFish(@NotNull quesParser.LongFishContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#waterField}.
	 * @param ctx the parse tree
	 */
	void enterWaterField(@NotNull quesParser.WaterFieldContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#waterField}.
	 * @param ctx the parse tree
	 */
	void exitWaterField(@NotNull quesParser.WaterFieldContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#vbEat}.
	 * @param ctx the parse tree
	 */
	void enterVbEat(@NotNull quesParser.VbEatContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#vbEat}.
	 * @param ctx the parse tree
	 */
	void exitVbEat(@NotNull quesParser.VbEatContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh07}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh07(@NotNull quesParser.QuestionWh07Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh07}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh07(@NotNull quesParser.QuestionWh07Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh08}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh08(@NotNull quesParser.QuestionWh08Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh08}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh08(@NotNull quesParser.QuestionWh08Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh05}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh05(@NotNull quesParser.QuestionWh05Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh05}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh05(@NotNull quesParser.QuestionWh05Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#imageName}.
	 * @param ctx the parse tree
	 */
	void enterImageName(@NotNull quesParser.ImageNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#imageName}.
	 * @param ctx the parse tree
	 */
	void exitImageName(@NotNull quesParser.ImageNameContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#biology}.
	 * @param ctx the parse tree
	 */
	void enterBiology(@NotNull quesParser.BiologyContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#biology}.
	 * @param ctx the parse tree
	 */
	void exitBiology(@NotNull quesParser.BiologyContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh06}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh06(@NotNull quesParser.QuestionWh06Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh06}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh06(@NotNull quesParser.QuestionWh06Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh03}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh03(@NotNull quesParser.QuestionWh03Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh03}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh03(@NotNull quesParser.QuestionWh03Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh04}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh04(@NotNull quesParser.QuestionWh04Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh04}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh04(@NotNull quesParser.QuestionWh04Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#vbGet}.
	 * @param ctx the parse tree
	 */
	void enterVbGet(@NotNull quesParser.VbGetContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#vbGet}.
	 * @param ctx the parse tree
	 */
	void exitVbGet(@NotNull quesParser.VbGetContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh01}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh01(@NotNull quesParser.QuestionWh01Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh01}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh01(@NotNull quesParser.QuestionWh01Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh02}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh02(@NotNull quesParser.QuestionWh02Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh02}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh02(@NotNull quesParser.QuestionWh02Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#waterRequest}.
	 * @param ctx the parse tree
	 */
	void enterWaterRequest(@NotNull quesParser.WaterRequestContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#waterRequest}.
	 * @param ctx the parse tree
	 */
	void exitWaterRequest(@NotNull quesParser.WaterRequestContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#aerationRequest}.
	 * @param ctx the parse tree
	 */
	void enterAerationRequest(@NotNull quesParser.AerationRequestContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#aerationRequest}.
	 * @param ctx the parse tree
	 */
	void exitAerationRequest(@NotNull quesParser.AerationRequestContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#repronduction}.
	 * @param ctx the parse tree
	 */
	void enterRepronduction(@NotNull quesParser.RepronductionContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#repronduction}.
	 * @param ctx the parse tree
	 */
	void exitRepronduction(@NotNull quesParser.RepronductionContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#classification}.
	 * @param ctx the parse tree
	 */
	void enterClassification(@NotNull quesParser.ClassificationContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#classification}.
	 * @param ctx the parse tree
	 */
	void exitClassification(@NotNull quesParser.ClassificationContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#nnWater}.
	 * @param ctx the parse tree
	 */
	void enterNnWater(@NotNull quesParser.NnWaterContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#nnWater}.
	 * @param ctx the parse tree
	 */
	void exitNnWater(@NotNull quesParser.NnWaterContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#nameFish}.
	 * @param ctx the parse tree
	 */
	void enterNameFish(@NotNull quesParser.NameFishContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#nameFish}.
	 * @param ctx the parse tree
	 */
	void exitNameFish(@NotNull quesParser.NameFishContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#lightRequest}.
	 * @param ctx the parse tree
	 */
	void enterLightRequest(@NotNull quesParser.LightRequestContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#lightRequest}.
	 * @param ctx the parse tree
	 */
	void exitLightRequest(@NotNull quesParser.LightRequestContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#name}.
	 * @param ctx the parse tree
	 */
	void enterName(@NotNull quesParser.NameContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#name}.
	 * @param ctx the parse tree
	 */
	void exitName(@NotNull quesParser.NameContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#vbBe}.
	 * @param ctx the parse tree
	 */
	void enterVbBe(@NotNull quesParser.VbBeContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#vbBe}.
	 * @param ctx the parse tree
	 */
	void exitVbBe(@NotNull quesParser.VbBeContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#subspecies}.
	 * @param ctx the parse tree
	 */
	void enterSubspecies(@NotNull quesParser.SubspeciesContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#subspecies}.
	 * @param ctx the parse tree
	 */
	void exitSubspecies(@NotNull quesParser.SubspeciesContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#request}.
	 * @param ctx the parse tree
	 */
	void enterRequest(@NotNull quesParser.RequestContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#request}.
	 * @param ctx the parse tree
	 */
	void exitRequest(@NotNull quesParser.RequestContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#info01}.
	 * @param ctx the parse tree
	 */
	void enterInfo01(@NotNull quesParser.Info01Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#info01}.
	 * @param ctx the parse tree
	 */
	void exitInfo01(@NotNull quesParser.Info01Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#designAquarium}.
	 * @param ctx the parse tree
	 */
	void enterDesignAquarium(@NotNull quesParser.DesignAquariumContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#designAquarium}.
	 * @param ctx the parse tree
	 */
	void exitDesignAquarium(@NotNull quesParser.DesignAquariumContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#distribution}.
	 * @param ctx the parse tree
	 */
	void enterDistribution(@NotNull quesParser.DistributionContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#distribution}.
	 * @param ctx the parse tree
	 */
	void exitDistribution(@NotNull quesParser.DistributionContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#engName}.
	 * @param ctx the parse tree
	 */
	void enterEngName(@NotNull quesParser.EngNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#engName}.
	 * @param ctx the parse tree
	 */
	void exitEngName(@NotNull quesParser.EngNameContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#vbHave}.
	 * @param ctx the parse tree
	 */
	void enterVbHave(@NotNull quesParser.VbHaveContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#vbHave}.
	 * @param ctx the parse tree
	 */
	void exitVbHave(@NotNull quesParser.VbHaveContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#pH}.
	 * @param ctx the parse tree
	 */
	void enterPH(@NotNull quesParser.PHContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#pH}.
	 * @param ctx the parse tree
	 */
	void exitPH(@NotNull quesParser.PHContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#info02}.
	 * @param ctx the parse tree
	 */
	void enterInfo02(@NotNull quesParser.Info02Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#info02}.
	 * @param ctx the parse tree
	 */
	void exitInfo02(@NotNull quesParser.Info02Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#nnFish}.
	 * @param ctx the parse tree
	 */
	void enterNnFish(@NotNull quesParser.NnFishContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#nnFish}.
	 * @param ctx the parse tree
	 */
	void exitNnFish(@NotNull quesParser.NnFishContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#vbLive}.
	 * @param ctx the parse tree
	 */
	void enterVbLive(@NotNull quesParser.VbLiveContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#vbLive}.
	 * @param ctx the parse tree
	 */
	void exitVbLive(@NotNull quesParser.VbLiveContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#nnAquarium}.
	 * @param ctx the parse tree
	 */
	void enterNnAquarium(@NotNull quesParser.NnAquariumContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#nnAquarium}.
	 * @param ctx the parse tree
	 */
	void exitNnAquarium(@NotNull quesParser.NnAquariumContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#expletive03}.
	 * @param ctx the parse tree
	 */
	void enterExpletive03(@NotNull quesParser.Expletive03Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#expletive03}.
	 * @param ctx the parse tree
	 */
	void exitExpletive03(@NotNull quesParser.Expletive03Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#expletive02}.
	 * @param ctx the parse tree
	 */
	void enterExpletive02(@NotNull quesParser.Expletive02Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#expletive02}.
	 * @param ctx the parse tree
	 */
	void exitExpletive02(@NotNull quesParser.Expletive02Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#waterTemparature}.
	 * @param ctx the parse tree
	 */
	void enterWaterTemparature(@NotNull quesParser.WaterTemparatureContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#waterTemparature}.
	 * @param ctx the parse tree
	 */
	void exitWaterTemparature(@NotNull quesParser.WaterTemparatureContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#expletive05}.
	 * @param ctx the parse tree
	 */
	void enterExpletive05(@NotNull quesParser.Expletive05Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#expletive05}.
	 * @param ctx the parse tree
	 */
	void exitExpletive05(@NotNull quesParser.Expletive05Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#expletive04}.
	 * @param ctx the parse tree
	 */
	void enterExpletive04(@NotNull quesParser.Expletive04Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#expletive04}.
	 * @param ctx the parse tree
	 */
	void exitExpletive04(@NotNull quesParser.Expletive04Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#dH}.
	 * @param ctx the parse tree
	 */
	void enterDH(@NotNull quesParser.DHContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#dH}.
	 * @param ctx the parse tree
	 */
	void exitDH(@NotNull quesParser.DHContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#question}.
	 * @param ctx the parse tree
	 */
	void enterQuestion(@NotNull quesParser.QuestionContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#question}.
	 * @param ctx the parse tree
	 */
	void exitQuestion(@NotNull quesParser.QuestionContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#fishClass}.
	 * @param ctx the parse tree
	 */
	void enterFishClass(@NotNull quesParser.FishClassContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#fishClass}.
	 * @param ctx the parse tree
	 */
	void exitFishClass(@NotNull quesParser.FishClassContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#expletive01}.
	 * @param ctx the parse tree
	 */
	void enterExpletive01(@NotNull quesParser.Expletive01Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#expletive01}.
	 * @param ctx the parse tree
	 */
	void exitExpletive01(@NotNull quesParser.Expletive01Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#where01}.
	 * @param ctx the parse tree
	 */
	void enterWhere01(@NotNull quesParser.Where01Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#where01}.
	 * @param ctx the parse tree
	 */
	void exitWhere01(@NotNull quesParser.Where01Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#generalInfo}.
	 * @param ctx the parse tree
	 */
	void enterGeneralInfo(@NotNull quesParser.GeneralInfoContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#generalInfo}.
	 * @param ctx the parse tree
	 */
	void exitGeneralInfo(@NotNull quesParser.GeneralInfoContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#where02}.
	 * @param ctx the parse tree
	 */
	void enterWhere02(@NotNull quesParser.Where02Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#where02}.
	 * @param ctx the parse tree
	 */
	void exitWhere02(@NotNull quesParser.Where02Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#questionWh20}.
	 * @param ctx the parse tree
	 */
	void enterQuestionWh20(@NotNull quesParser.QuestionWh20Context ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#questionWh20}.
	 * @param ctx the parse tree
	 */
	void exitQuestionWh20(@NotNull quesParser.QuestionWh20Context ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#vnName}.
	 * @param ctx the parse tree
	 */
	void enterVnName(@NotNull quesParser.VnNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#vnName}.
	 * @param ctx the parse tree
	 */
	void exitVnName(@NotNull quesParser.VnNameContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#caring}.
	 * @param ctx the parse tree
	 */
	void enterCaring(@NotNull quesParser.CaringContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#caring}.
	 * @param ctx the parse tree
	 */
	void exitCaring(@NotNull quesParser.CaringContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#dtThe}.
	 * @param ctx the parse tree
	 */
	void enterDtThe(@NotNull quesParser.DtTheContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#dtThe}.
	 * @param ctx the parse tree
	 */
	void exitDtThe(@NotNull quesParser.DtTheContext ctx);

	/**
	 * Enter a parse tree produced by {@link quesParser#waterFilterRequest}.
	 * @param ctx the parse tree
	 */
	void enterWaterFilterRequest(@NotNull quesParser.WaterFilterRequestContext ctx);
	/**
	 * Exit a parse tree produced by {@link quesParser#waterFilterRequest}.
	 * @param ctx the parse tree
	 */
	void exitWaterFilterRequest(@NotNull quesParser.WaterFilterRequestContext ctx);
}